package com.xx.springboot.DataStructure.LeetCode.String;

/**
     给定一个 32 位有符号整数，将整数中的数字进行反转。

     示例 1:

     输入: 123
     输出: 321
     示例 2:

     输入: -123
     输出: -321
     示例 3:

     输入: 120
     输出: 21
     注意:

     假设我们的环境只能存储 32 位有符号整数，其数值范围是 [−231,  231 − 1]。根据这个假设，如果反转后的整数溢出，则返回 0。
 */
public class reverse {
    public int reverse(int x) {
        String str = x + "";
        int index = 0;
        char[] numbers = str.toCharArray();
        if (numbers[0] == '-')
            index = 1;

        String resStr = "";
        for (int i = numbers.length - 1; i >= index; i--) {
            resStr += numbers[i];
        }

        resStr = index == 1 ? "-" + resStr : resStr;
        Long res = Long.parseLong(resStr);

        if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE )
            return 0;
        else
            return Integer.parseInt(resStr);

    }

    public static void main(String[] args) {

        reverse reverse = new reverse();
        System.out.println(reverse.reverse(1534236469));
    }
}
